home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
pluginy Firefox
/
6826
/
6826.xpi
/
content
/
options.js
< prev
next >
Wrap
Text File
|
2008-03-27
|
3KB
|
147 lines
//borrow from flashblock
function checkSiteName(siteName) {
var regex = /^[A-Za-z0-9_\-\.\*]+(\:\d{1,5}){0,1}$/;
return regex.test(siteName);
}
function compareSites(listSite,newSite)
{
if(listSite<=newSite)
{
return false;
}
else
{
return true;
}
}
function siteInList(site)
{
var listRef=$("exceptionList");
var listLen=listRef.getRowCount();
for(var i=0;i<listLen;i++)
{
if(listRef.getItemAtIndex(i).label == site)
return true;
}
return false;
}
function getListIndex(site)
{
var listRef=$("exceptionList");
var listLen=listRef.getRowCount();
for(var i=0;i<listLen;i++)
{
if(compareSites(listRef.getItemAtIndex(i).label,site))return i;
}
return i;
}
function addExceptionSite()
{
var val=$("siteTextbox").value;
var listRef=$("exceptionList");
if(!checkSiteName(val))
{
alert("Invalid site name");
return false;
}
if(siteInList(val))
{
alert("Site is already in the list");
return false;
}
var index=getListIndex(val);
var numRows=listRef.getRowCount();
var newElement;
if(index < numRows)
newElement = listRef.insertItemAt(index, val, "");
else
newElement = listRef.appendItem(val, "");
listRef.ensureElementIsVisible(newElement);
var txb=$("siteTextbox");
txb.value="";
txb.focus();
$("onSiteTextBox").setAttribute("disabled",true);
return true;
}
function getExceptionsString()
{
var list=$("exceptionList");
var listLen=list.getRowCount();
var listStr=new Array();
for(var i=0;i<listLen;i++)
{
listStr.push(list.getItemAtIndex(i).label);
}
return listStr.join(",");
}
function setExceptionPref(listValue)
{
gAdsRemoveUtils.setPreference("exception_list",getExceptionsString());
}
function onInput(txref)
{
var cmdRef=$("onSiteTextBox");
if(txref.value)
{
cmdRef.setAttribute("disabled",false);
}
else
{
cmdRef.setAttribute("disabled",true);
}
}
function populateExceptionList()
{
var prefExlist=gAdsRemoveUtils.getPreference("exception_list");
if(prefExlist=="")return;
var prefExlist=prefExlist.split(",");
var listRef=$("exceptionList");
for(var i=0;i<prefExlist.length;i++)
{
listRef.appendItem(prefExlist[i],"");
}
}
function removeAllExceptions()
{
var list=$("exceptionList");
while(list.getRowCount()>0)
{
list.removeItemAt(0);
}
}
function itemSelected(listitem)
{
$("onRemoveSelected").setAttribute("disabled",false);
}
function removeSelectedItem()
{
var list=$("exceptionList");
var index=list.selectedItem;
index=list.getIndexOfItem(index);
list.removeItemAt(index);
$("onRemoveSelected").setAttribute("disabled",true);
}
function saveBlockOptions()
{
setExceptionPref(getExceptionsString());
}